
public class Pessoa 
{
	public String nome;
	public int idade;
	public char sexo;
	public Pessoa pai,mae,filhos[],conjuge;
	private int nFilhos;
	
	public boolean casarCom(Pessoa pretendente)
	{
		if(this.conjuge==null && pretendente.conjuge==null && this.idade>=18 && pretendente.idade>=18 && this.sexo!=pretendente.sexo)
		{
			this.conjuge = pretendente;
			pretendente.conjuge = this;
			return true;
		}
		return false;
	}
	public void setPai(Pessoa p)
	{
		this.pai = p;
		pai.filhos[pai.nFilhos++] = this;		
	}
	public void setMae(Pessoa m)
	{
		this.mae = m;
		mae.filhos[mae.nFilhos++] = this;
	}
	public Pessoa[] getTios() throws NullPointerException
	{
		int nTios = 0;
		Pessoa avo = this.pai.pai;
		Pessoa vo = this.mae.mae;
		Pessoa tios[] = new Pessoa[avo.nFilhos+vo.nFilhos - 2];
		for(int i=0;i<avo.nFilhos;i++)
		{
			if(avo.filhos[i]!=this.pai)
			{
				tios[nTios] = avo.filhos[i];
				nTios++;
			}
		}
		for(int i=0;i<vo.nFilhos;i++)
		{
			if(vo.filhos[i]!=this.mae)
			{
				tios[nTios] = vo.filhos[i];
				nTios++;
			}
		}		
		return tios;
	}
	public Pessoa getPai()
	{
		return this.pai;
	}
	public Pessoa[][] getPrimos()
	{
		Pessoa[] tios = this.getTios();
		Pessoa[][] primos = new Pessoa[tios.length][];
		for(int i=0;i<tios.length;i++)
		{
			primos[i] = tios[i].filhos;
		}
		return primos;
	}
	public Pessoa getMae()
	{
		return this.mae;
	}
	public Pessoa[] getFilhos()
	{
		return this.filhos;
	}
	public Pessoa[][] getNetos() throws NullPointerException
	{
		Pessoa[][] netos = new Pessoa[this.nFilhos][];
		for(int i=0;i<this.nFilhos;i++)
		{
			netos[i] = this.filhos;
		}
		return netos;
	}
	public String getNome() {
		return this.nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public int getIdade() {
		return this.idade;
	}
	public void setIdade(int idade) {
		this.idade = idade;
	}
	public char getSexo() {
		return this.sexo;
	}
	public void setSexo(char sexo) {

		this.sexo = sexo;
	}
	Pessoa(String n, int age, char s)
	{
		this.idade = age;
		this.nome = n;
		this.sexo = s;
		this.filhos = new Pessoa[20];
		this.nFilhos = 0;
	}
	///////////////////////////////////////////====================================================
	public String toString()
	{
			return this.nome;
	}
}
